Package totalpos

Source Code of totalpos.CreateShop

/*
* CreateShop.java
*
* Created on 03-ago-2011, 16:00:17
*/

package totalpos;

import java.sql.SQLException;
import java.util.List;
import java.util.Set;
import java.util.TreeSet;
import javax.swing.JInternalFrame;
import javax.swing.table.DefaultTableModel;

/**
*
* @author shidalgo
*/
public class CreateShop extends JInternalFrame {

    public boolean isOk = false;
    public boolean created = false;

    /** Creates new form CreateShop */
    public CreateShop() {
        initComponents();
        System.out.println("[" + Shared.now() + "] " + this.getClass().getName() + " " + Shared.lineNumber() " Invocando constructor");

        DefaultTableModel model = (DefaultTableModel) storeTable.getModel();
        model.setRowCount(0);
        if ( !Shared.getConfig().containsKey("storeName") ){
            titleLabel.setText("Crear Tienda");
            this.setTitle("Crear Tienda");
            setClosable(false);
            setResizable(false);
            cancelButton.setEnabled(false);
        }else{
            try {
                titleLabel.setText("Modificar Tienda");
                this.setTitle("Modificar Tienda");
                nameFieldText.setText(Shared.getConfig("storeName"));
                descriptionFieldText.setText(Shared.getConfig("storeDescription"));
                List<Store> stores = ConnectionDrivers.listStores();
                for (Store store : stores) {
                    String[] s = {store.getId(), store.getDescription()};
                    model.addRow(s);
                }

                nameFieldText.setEditable(!ConnectionDrivers.hasMovements());

            } catch (SQLException ex) {
                MessageBox msg = new MessageBox(MessageBox.SGN_DANGER, "Problemas con la base de datos.",ex);
                msg.show(this);
                return;
            }
        }

        isOk = true;
    }

    /** This method is called from within the constructor to
     * initialize the form.
     * WARNING: Do NOT modify this code. The content of this method is
     * always regenerated by the Form Editor.
     */
    @SuppressWarnings("unchecked")
    // <editor-fold defaultstate="collapsed" desc="Generated Code">//GEN-BEGIN:initComponents
    private void initComponents() {

        titleLabel = new javax.swing.JLabel();
        jLabel2 = new javax.swing.JLabel();
        jLabel3 = new javax.swing.JLabel();
        nameFieldText = new javax.swing.JTextField();
        descriptionFieldText = new javax.swing.JTextField();
        cancelButton = new javax.swing.JButton();
        acceptButton = new javax.swing.JButton();
        jLabel1 = new javax.swing.JLabel();
        jPanel1 = new javax.swing.JPanel();
        jScrollPane1 = new javax.swing.JScrollPane();
        storeTable = new javax.swing.JTable();
        addStore = new javax.swing.JButton();
        deleteStore = new javax.swing.JButton();
        jLabel4 = new javax.swing.JLabel();
        jLabel5 = new javax.swing.JLabel();

        setClosable(true);
        setTitle("Crear/Modificar Tienda");
        addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseMoved(java.awt.event.MouseEvent evt) {
                formMouseMoved(evt);
            }
        });

        titleLabel.setFont(new java.awt.Font("Courier New", 1, 18));
        titleLabel.setName("titleLabel"); // NOI18N

        jLabel2.setIcon(new javax.swing.ImageIcon(getClass().getResource("/totalpos/resources/Etiquetas.jpg"))); // NOI18N
        jLabel2.setText("Código");
        jLabel2.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jLabel2.setName("jLabel2"); // NOI18N

        jLabel3.setIcon(new javax.swing.ImageIcon(getClass().getResource("/totalpos/resources/Etiquetas.jpg"))); // NOI18N
        jLabel3.setText("Descripción");
        jLabel3.setHorizontalTextPosition(javax.swing.SwingConstants.CENTER);
        jLabel3.setName("jLabel3"); // NOI18N

        nameFieldText.setName("nameFieldText"); // NOI18N
        nameFieldText.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseMoved(java.awt.event.MouseEvent evt) {
                nameFieldTextMouseMoved(evt);
            }
        });

        descriptionFieldText.setName("descriptionFieldText"); // NOI18N
        descriptionFieldText.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseMoved(java.awt.event.MouseEvent evt) {
                descriptionFieldTextMouseMoved(evt);
            }
        });

        cancelButton.setText("Cancelar");
        cancelButton.setName("cancelButton"); // NOI18N
        cancelButton.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseMoved(java.awt.event.MouseEvent evt) {
                cancelButtonMouseMoved(evt);
            }
        });
        cancelButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                cancelButtonActionPerformed(evt);
            }
        });

        acceptButton.setText("Aceptar");
        acceptButton.setName("acceptButton"); // NOI18N
        acceptButton.addMouseMotionListener(new java.awt.event.MouseMotionAdapter() {
            public void mouseMoved(java.awt.event.MouseEvent evt) {
                acceptButtonMouseMoved(evt);
            }
        });
        acceptButton.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                acceptButtonActionPerformed(evt);
            }
        });

        jLabel1.setText("* = Campo Obligatorio");
        jLabel1.setName("jLabel1"); // NOI18N

        jPanel1.setBorder(javax.swing.BorderFactory.createTitledBorder("Almacenes - Obligatorio al menos uno (1)"));
        jPanel1.setName("jPanel1"); // NOI18N

        jScrollPane1.setName("jScrollPane1"); // NOI18N

        storeTable.setModel(new javax.swing.table.DefaultTableModel(
            new Object [][] {
                {null, null},
                {null, null},
                {null, null},
                {null, null}
            },
            new String [] {
                "Código", "Descripción"
            }
        ));
        storeTable.setName("storeTable"); // NOI18N
        storeTable.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        jScrollPane1.setViewportView(storeTable);

        javax.swing.GroupLayout jPanel1Layout = new javax.swing.GroupLayout(jPanel1);
        jPanel1.setLayout(jPanel1Layout);
        jPanel1Layout.setHorizontalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 383, Short.MAX_VALUE)
        );
        jPanel1Layout.setVerticalGroup(
            jPanel1Layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addComponent(jScrollPane1, javax.swing.GroupLayout.DEFAULT_SIZE, 174, Short.MAX_VALUE)
        );

        addStore.setText("Agregar Almacen");
        addStore.setName("addStore"); // NOI18N
        addStore.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                addStoreActionPerformed(evt);
            }
        });

        deleteStore.setText("Eliminar Almacen");
        deleteStore.setName("deleteStore"); // NOI18N
        deleteStore.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                deleteStoreActionPerformed(evt);
            }
        });

        jLabel4.setText("*");
        jLabel4.setName("jLabel4"); // NOI18N

        jLabel5.setText("*");
        jLabel5.setName("jLabel5"); // NOI18N

        javax.swing.GroupLayout layout = new javax.swing.GroupLayout(getContentPane());
        getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(layout.createSequentialGroup()
                .addContainerGap()
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                    .addComponent(jPanel1, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                    .addComponent(titleLabel, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, 399, Short.MAX_VALUE)
                    .addGroup(layout.createSequentialGroup()
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(jLabel2, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addComponent(jLabel3))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
                            .addComponent(jLabel4)
                            .addComponent(jLabel5))
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.TRAILING)
                            .addComponent(nameFieldText, javax.swing.GroupLayout.DEFAULT_SIZE, 278, Short.MAX_VALUE)
                            .addComponent(descriptionFieldText, javax.swing.GroupLayout.Alignment.LEADING, javax.swing.GroupLayout.DEFAULT_SIZE, 278, Short.MAX_VALUE)))
                    .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                        .addComponent(jLabel1)
                        .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 105, Short.MAX_VALUE)
                        .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING, false)
                            .addComponent(deleteStore, javax.swing.GroupLayout.Alignment.TRAILING, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                                .addComponent(acceptButton, javax.swing.GroupLayout.PREFERRED_SIZE, 89, javax.swing.GroupLayout.PREFERRED_SIZE)
                                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                                .addComponent(cancelButton, javax.swing.GroupLayout.PREFERRED_SIZE, 91, javax.swing.GroupLayout.PREFERRED_SIZE))
                            .addComponent(addStore, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE))))
                .addContainerGap())
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(javax.swing.GroupLayout.Alignment.LEADING)
            .addGroup(javax.swing.GroupLayout.Alignment.TRAILING, layout.createSequentialGroup()
                .addContainerGap()
                .addComponent(titleLabel, javax.swing.GroupLayout.PREFERRED_SIZE, 65, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(jLabel2)
                    .addComponent(nameFieldText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel4))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(descriptionFieldText, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                    .addComponent(jLabel3)
                    .addComponent(jLabel5))
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.UNRELATED)
                .addComponent(jPanel1, javax.swing.GroupLayout.PREFERRED_SIZE, javax.swing.GroupLayout.DEFAULT_SIZE, javax.swing.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(addStore)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED)
                .addComponent(deleteStore)
                .addPreferredGap(javax.swing.LayoutStyle.ComponentPlacement.RELATED, 14, Short.MAX_VALUE)
                .addGroup(layout.createParallelGroup(javax.swing.GroupLayout.Alignment.BASELINE)
                    .addComponent(cancelButton)
                    .addComponent(jLabel1)
                    .addComponent(acceptButton))
                .addContainerGap())
        );

        pack();
    }// </editor-fold>//GEN-END:initComponents

    private void cancelButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_cancelButtonActionPerformed
        this.dispose();
    }//GEN-LAST:event_cancelButtonActionPerformed

    private void acceptButtonActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_acceptButtonActionPerformed

        if ( nameFieldText.getText().isEmpty() ){
            MessageBox msg = new MessageBox(MessageBox.SGN_CAUTION, "El código no puede ser vacío");
            msg.show(this);
            return;
        }

        if ( descriptionFieldText.getText().isEmpty() ){
            MessageBox msg = new MessageBox(MessageBox.SGN_CAUTION, "La descripción no puede ser vacía");
            msg.show(this);
            return;
        }

        if ( storeTable.getRowCount() == 0 ){
            MessageBox msg = new MessageBox(MessageBox.SGN_CAUTION, "Debe haber al menos un almacen");
            msg.show(this);
            return;
        }

        DefaultTableModel model = (DefaultTableModel) storeTable.getModel();
        Set<String> s = new TreeSet<String>();
        for (int i = 0; i < model.getRowCount(); i++) {
            if ( model.getValueAt(i, 0) == null || model.getValueAt(i, 1) == null ||
                    ((String)model.getValueAt(i, 0)).isEmpty() || ((String)model.getValueAt(i, 1)).isEmpty() ){
                MessageBox msg = new MessageBox(MessageBox.SGN_CAUTION, "Todos los campos son obligatorios. No pueden haber almacenes con campos vacíos.");
                msg.show(this);
                return;
            }
            if ( s.contains(model.getValueAt(i, 0)) ){
                MessageBox msg = new MessageBox(MessageBox.SGN_CAUTION, "Los códigos no se pueden repetir");
                msg.show(this);
                return;
            }
            s.add((String) model.getValueAt(i, 0));
        }
       
        try {
            ConnectionDrivers.saveConfig("storeName", nameFieldText.getText());
            ConnectionDrivers.saveConfig("storeDescription", descriptionFieldText.getText());
            ConnectionDrivers.deleteAllStores();
            ConnectionDrivers.createStore(model);
            MessageBox msg = new MessageBox(MessageBox.SGN_SUCCESS, "Guardado correctamente");
            msg.show(this);
            created = true;
            ConnectionDrivers.initializeConfig();
            this.dispose();
            System.out.println("[" + Shared.now() + "] " + this.getClass().getName() + " " + Shared.lineNumber() " Terminado de guardar todo");
        } catch (SQLException ex) {
            MessageBox msb = new MessageBox(MessageBox.SGN_IMPORTANT, "Problemas con la base de datos.",ex);
            msb.show(this);
            this.dispose();
            Shared.reload();
        }
    }//GEN-LAST:event_acceptButtonActionPerformed

    private void formMouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_formMouseMoved
        Shared.getScreenSaver().actioned();
    }//GEN-LAST:event_formMouseMoved

    private void descriptionFieldTextMouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_descriptionFieldTextMouseMoved
        Shared.getScreenSaver().actioned();
    }//GEN-LAST:event_descriptionFieldTextMouseMoved

    private void nameFieldTextMouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_nameFieldTextMouseMoved
        Shared.getScreenSaver().actioned();
    }//GEN-LAST:event_nameFieldTextMouseMoved

    private void acceptButtonMouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_acceptButtonMouseMoved
        Shared.getScreenSaver().actioned();
    }//GEN-LAST:event_acceptButtonMouseMoved

    private void cancelButtonMouseMoved(java.awt.event.MouseEvent evt) {//GEN-FIRST:event_cancelButtonMouseMoved
        Shared.getScreenSaver().actioned();
    }//GEN-LAST:event_cancelButtonMouseMoved

    private void addStoreActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_addStoreActionPerformed
        DefaultTableModel model = (DefaultTableModel) storeTable.getModel();
        model.setRowCount(model.getRowCount()+1);
    }//GEN-LAST:event_addStoreActionPerformed

    private void deleteStoreActionPerformed(java.awt.event.ActionEvent evt) {//GEN-FIRST:event_deleteStoreActionPerformed
        if ( storeTable.getSelectedRow() != -1 ){
            DefaultTableModel model = (DefaultTableModel) storeTable.getModel();
            model.removeRow(storeTable.getSelectedRow());
        }else{
            MessageBox msg = new MessageBox(MessageBox.SGN_CAUTION, "Debe seleccionar un almacén!");
            msg.show(this);
        }
    }//GEN-LAST:event_deleteStoreActionPerformed


    // Variables declaration - do not modify//GEN-BEGIN:variables
    private javax.swing.JButton acceptButton;
    private javax.swing.JButton addStore;
    private javax.swing.JButton cancelButton;
    private javax.swing.JButton deleteStore;
    private javax.swing.JTextField descriptionFieldText;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JLabel jLabel2;
    private javax.swing.JLabel jLabel3;
    private javax.swing.JLabel jLabel4;
    private javax.swing.JLabel jLabel5;
    private javax.swing.JPanel jPanel1;
    private javax.swing.JScrollPane jScrollPane1;
    private javax.swing.JTextField nameFieldText;
    private javax.swing.JTable storeTable;
    private javax.swing.JLabel titleLabel;
    // End of variables declaration//GEN-END:variables

}
TOP

Related Classes of totalpos.CreateShop

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.